package com.mingyuan.library.domain.lending.patron.repository;

import com.mingyuan.library.domain.lending.patron.event.BookPlacedOnHoldEvents;
import com.mingyuan.library.domain.lending.patron.event.PatronEvent;
import com.mingyuan.library.domain.lending.patron.model.aggregate.Patron;

import java.util.UUID;

/**
 * 读者仓储接口
 * @author yangzk
 * @version 1.0.0
 * @date 2024.01.16 10:52
 */
public interface PatronRepository {

    /**
     * 获取读者信息
     * @author yangzk
     * @param patronId 读者ID
     * @date 2024/1/16 10:55
     **/
    Patron find(UUID patronId);

    /**
     * 发布读者事件
     * @author yangzk
     * @param patronEvent 读者事件
     * @date 2024/1/16 14:02
     **/
    Patron publish(PatronEvent patronEvent);
}
